$(function () {
  var org_datagrid = $("#org_datagrid");
  var org_dialog = $("#org_dialog");
  var org_form = $("#org_form");
  var copper_btn = $("#copper_btn");
  org_datagrid.datagrid({
    url: "/organization/query.do",
    fitColumns: true,
    fit: true,
    toolbar: "#org_toolbar",
    striped: true,
    rownumbers: true,
    singleSelect: true,
    pagination: true,
    columns: [
      [
        {field: 'id', checkbox: true},
        {field: 'sn', title: '机构代码', width: 80},
        {field: 'name', title: '机构名称', width: 80},
        {field: 'legalPerson', title: '法人代表', width: 80},
        {field: 'identityInfo', title: '身份信息', width: 80},
        {field: 'tel', title: '联系方式', width: 80},
        {field: 'address', title: '联系地址', width: 80},
        {
          field: 'cooperation', title: '合作状态', width: 80, formatter: function (value, row, index) {
            return value ? "合作" : "<font color='red'>解除</font>";
          }
        }
      ]],
    onSelect: function (index, row) {
      //合作状态
      if (row.state) {
        copper_btn.linkbutton({
          text: '解除'
        });
      } else {
        copper_btn.linkbutton({
          text: '合作'
        });
      }
    }
  });
  org_dialog.dialog({
    draggable: 'true',
    width: 300,
    height: 385,
    buttons: "#form_btns",
    closed: "true",
    onClose: function () {
      //清空表单数据
      org_form.form('clear');
    }
  })

  //使用一个对象统一管理事件的方法
  var methodObj = {
    /*查询*/
    query: function () {
      //获取查询条件的值
      var value = $("#keyword").textbox('getValue');
      var cooper = $("#cooper").textbox('getValue');

      org_datagrid.datagrid('load', {
        keyword: value,
        cooperation: cooper
      })
    },
    /*新增按钮*/
    add: function () {
      //打开弹出框
      org_dialog.dialog('open');
      //设置标题
      org_dialog.dialog('setTitle', '新增机构');
    },
    /*编辑按钮*/
    edit: function () {
      //判断是否选中数据
      var row = org_datagrid.datagrid('getSelected');
      if (!row) {
        //提示机构
        $.messager.alert('温馨提示', '请选择一条数据!', 'warning');
        return;
      }
      //回显表单数据(根据同名匹配的原则,row对象中的属性名要与form中的name相同才可以回显)
      org_form.form('load', row);
      //打开弹出框
      org_dialog.dialog('open');
      //设置标题
      org_dialog.dialog('setTitle', '编辑机构');
    },
    changeCooperation: function () {
      //判断是否选中数据
      var row = org_datagrid.datagrid('getSelected');
      if (!row) {
        //提示选中
        $.messager.alert('温馨提示', '请选择一条数据!', 'warning');
        return;
      }
      //弹出确认框
      $.messager.confirm('确认', '您确认执行该操作吗？', function (r) {
        if (r) {
          //发送请求到后台
          $.get("/organization/changeCooperation.do", {id: row.id}, function (data) {
            if (data.success) {
              $.messager.alert('温馨提示', '操作成功!', 'info', function () {
                org_datagrid.datagrid('reload');
              });
            } else {
              $.messager.alert('温馨提示', data.msg, 'error');
            }
          })
        }
      });
    },
    /*保存按钮*/
    save: function () {
      //提交表单
      org_form.form('submit', {
        url: '/organization/saveOrUpdate.do',
        success: function (data) {
          //转换为json对象
          data = $.parseJSON(data);
          if (data.success) {
            //提示机构操作结果
            $.messager.alert('温馨提示', '保存成功!', 'info', function () {
              //关闭弹出框
              methodObj.cancel();
              //让datagrid重新查询机构数据
              org_datagrid.datagrid('reload');
            });
          } else {
            $.messager.alert('温馨提示', data.msg, 'error');
          }
        }
      });
    },
    /*取消按钮*/
    cancel: function () {
      //关闭弹出框
      org_dialog.dialog('close');
    },
    /*刷新功能*/
    refresh:function () {
      org_datagrid.datagrid('reload');
    }
  }

  //统一绑定事件
  $("a[data-cmd]").click(function () {
    var methodName = $(this).data("cmd");
    methodObj[methodName]();
  });
});